ajax ช่วยลดการทำงานของ server ใช่ไหมครับ แต่ อยากทราบว่า การคิวร
การจะบอกว่า AJAX ช่วยลดการทำงานของ Server หรือไม่ ขึ้นอยู่กับการออกแบบครับ ถ้างานชิ้นเดียวกัน มีลักษณะงานเหมือนๆกัน AJAX อาจ ช่วยลดการทำงานของ Server ได้ครับ
ยกตัวอย่างเช่น Auto Refresh ในงานลักษณะเดียวกัน ระหว่างการทำงานแบบปกติ กับ AJAX หากมีการเรียกเพจทั้งเพจ ตามช่วงเวลาแล้ว AJAX ย่ิอมได้เปรียบกว่า เนื่องจาก AJAX ไม่จำเป็นต้องโหลด ส่วนที่ไม่เปลี่ยนแปลง(คือโหลดเฉพาะข้อมูล) ครับ ดังนั้นมันจึงเป็นการทำงานเพื่อลด ภาระของ Server ได้ แต่หากเปรียบ AJAX กับ การใช้งาน iframe แล้ว คงแทบจะไม่เห็นความแตกต่างหรอกครับ เพราะ AJAX และ iframe ทำงานได้คล้ายๆ กัน
อีกตัวอย่างหนึ่งคือ การโหลดเพจครั้งแรก ครั้งเดียวด้วย AJAX เหมือนกับการโหลดหน้าเพจของผมนั่นแหละครับ ถ้าจะถามว่าแบบไหนจะลดการทำงานของ Server ได้มากกว่า ตอบแบบ ฟันธง! ได้เลยครับ ว่าแบบปกติ แหละครับ ใช้การทำงานของ Server น้อยที่สุด แล้วคงมีคำถามว่า แล้วจะใช้ AJAX ทำไม ? คำตอบคือการตอบสนองต่อผู้ใช้ครับ ที่เป็นปัจจัยให้เราต้องใช้ AJAX เนื่องจากเราสามารถใช้ AJAX เพื่อโหลดเป็นส่วนๆ ได้ ทำให้เราไม่ต้องรอคอยให้เพจโหลดเสร็จทั้งหมดก่อน แล้วค่อยแสดง ซึ่งจะดูเป็นการดีกว่าในสายตาของผู้ใช้(ใจร้อน) ที่ไม่ปิดหน้าไปเสียก่อนจะโหลดเสร็จ
สำหรับคำถามว่า แล้วการติดต่อกับฐานข้อมูลแบบไหนจะมากน้อยกว่ากัน ก็ตอบแบบ ฟันธง! ได้เลยครับ ว่าไม่มีอะไรแตกต่างกัน หากงานที่ต้องทำทั้งหมดคือความจำเป็นและต้องทำอยู่แล้ว เมื่อใดที่มีการร้องขอข้อมูล เราก็ต้องไป query เอาจากฐานข้อมูลอยู่ดี การเลือกใช้ช่วงเวลาในการทำ Auto Refresh ข้อมูลต่างๆให้เหมาะสมต่างหาก คือปัจจัยในการลดการติดต่อกับฐานข้อมูล และยังดูดีในสายตาผู้ใช้
สำหรับสิ่งที่ AJAX ทำแน่ๆคือ ลดเวลาการติดต่อระหว่าง Server และ Client ครับ ซึ่งคือสิ่งสำคัญ เนื่องจาก Internet ไม่ได้เชื่อมต่ออยู่ใกล้ๆกัน บางครั้งอาจห่างไกลกันคนละซึกโลกก็ได้ การขนข้อมูลจำนวนมาก ในระยะทางไกลๆ ย่อมเสียเวลาใช่มั้ยครับ แต่ AJAX ช่วยให้เราขนเพียงข้อมูล(ซึ่งมีขนาดเล็กกว่าหากต้องขนทั้งหน้า) ซึ่งก็จะทำให้การขนถ่ายข้อมูล ใช้เวลาที่น้อยลง (แต่ฐานข้อมูลก็ยังคงทำงานหนักเหมือนเดิม)
สรุป
*ฐานข้อมูลทำงานปกติครับ เนื่องจากหากเมื่อไรที่ต้องการข้อมูล ฐานข้อมูลก็ต้องทำงานอยู่แล้ว
*ส่วน Server ทำงานลดลง เนื่องจากไม่ต้องจัดการแสดงผล อ่าน HTML แล้วก็ส่งกลับไปเลย
*งานหนักจะไปตกอยู่กับ Browser ซึ่งจะต้องรับข้อมูลที่ได้จาก AJAX มาจัดการแสดงผล
*แต่ที่ได้ประโยชน์สูงสุดคือ ลดเวลาในการขนถ่ายข้อมูลให้น้อยลง
ยกตัวอย่างเช่น Auto Refresh ในงานลักษณะเดียวกัน ระหว่างการทำงานแบบปกติ กับ AJAX หากมีการเรียกเพจทั้งเพจ ตามช่วงเวลาแล้ว AJAX ย่ิอมได้เปรียบกว่า เนื่องจาก AJAX ไม่จำเป็นต้องโหลด ส่วนที่ไม่เปลี่ยนแปลง(คือโหลดเฉพาะข้อมูล) ครับ ดังนั้นมันจึงเป็นการทำงานเพื่อลด ภาระของ Server ได้ แต่หากเปรียบ AJAX กับ การใช้งาน iframe แล้ว คงแทบจะไม่เห็นความแตกต่างหรอกครับ เพราะ AJAX และ iframe ทำงานได้คล้ายๆ กัน
อีกตัวอย่างหนึ่งคือ การโหลดเพจครั้งแรก ครั้งเดียวด้วย AJAX เหมือนกับการโหลดหน้าเพจของผมนั่นแหละครับ ถ้าจะถามว่าแบบไหนจะลดการทำงานของ Server ได้มากกว่า ตอบแบบ ฟันธง! ได้เลยครับ ว่าแบบปกติ แหละครับ ใช้การทำงานของ Server น้อยที่สุด แล้วคงมีคำถามว่า แล้วจะใช้ AJAX ทำไม ? คำตอบคือการตอบสนองต่อผู้ใช้ครับ ที่เป็นปัจจัยให้เราต้องใช้ AJAX เนื่องจากเราสามารถใช้ AJAX เพื่อโหลดเป็นส่วนๆ ได้ ทำให้เราไม่ต้องรอคอยให้เพจโหลดเสร็จทั้งหมดก่อน แล้วค่อยแสดง ซึ่งจะดูเป็นการดีกว่าในสายตาของผู้ใช้(ใจร้อน) ที่ไม่ปิดหน้าไปเสียก่อนจะโหลดเสร็จ
สำหรับคำถามว่า แล้วการติดต่อกับฐานข้อมูลแบบไหนจะมากน้อยกว่ากัน ก็ตอบแบบ ฟันธง! ได้เลยครับ ว่าไม่มีอะไรแตกต่างกัน หากงานที่ต้องทำทั้งหมดคือความจำเป็นและต้องทำอยู่แล้ว เมื่อใดที่มีการร้องขอข้อมูล เราก็ต้องไป query เอาจากฐานข้อมูลอยู่ดี การเลือกใช้ช่วงเวลาในการทำ Auto Refresh ข้อมูลต่างๆให้เหมาะสมต่างหาก คือปัจจัยในการลดการติดต่อกับฐานข้อมูล และยังดูดีในสายตาผู้ใช้
สำหรับสิ่งที่ AJAX ทำแน่ๆคือ ลดเวลาการติดต่อระหว่าง Server และ Client ครับ ซึ่งคือสิ่งสำคัญ เนื่องจาก Internet ไม่ได้เชื่อมต่ออยู่ใกล้ๆกัน บางครั้งอาจห่างไกลกันคนละซึกโลกก็ได้ การขนข้อมูลจำนวนมาก ในระยะทางไกลๆ ย่อมเสียเวลาใช่มั้ยครับ แต่ AJAX ช่วยให้เราขนเพียงข้อมูล(ซึ่งมีขนาดเล็กกว่าหากต้องขนทั้งหน้า) ซึ่งก็จะทำให้การขนถ่ายข้อมูล ใช้เวลาที่น้อยลง (แต่ฐานข้อมูลก็ยังคงทำงานหนักเหมือนเดิม)
สรุป
*ฐานข้อมูลทำงานปกติครับ เนื่องจากหากเมื่อไรที่ต้องการข้อมูล ฐานข้อมูลก็ต้องทำงานอยู่แล้ว
*ส่วน Server ทำงานลดลง เนื่องจากไม่ต้องจัดการแสดงผล อ่าน HTML แล้วก็ส่งกลับไปเลย
*งานหนักจะไปตกอยู่กับ Browser ซึ่งจะต้องรับข้อมูลที่ได้จาก AJAX มาจัดการแสดงผล
*แต่ที่ได้ประโยชน์สูงสุดคือ ลดเวลาในการขนถ่ายข้อมูลให้น้อยลง